<template>
  <header class="header">
    <h1>todos</h1>

    <input
      id="toggle-all"
      class="toggle-all"
      type="checkbox"
      v-model="chkAll"
    />
    <label for="toggle-all"></label>
    <input
      class="new-todo"
      placeholder="输入任务名称-回车确认"
      autofocus
      v-model.trim="task"
      @keyup.enter="add"
    />
  </header>
</template>

<script>
export default {
  props: {
    list: {
      type: Array,
      required: true
    }
  },
  data () {
    return {
      task: ''
    }
  },
  methods: {
    add () {
      // 1. 非空判断
      if (this.task == '') return alert('请先输入任务名')
      // 2. 不为空才加到数组里-->子传父，把要添加的内容传递给父，让父自己去添加
      this.$emit('add', this.task)
      // 3. 清空输入内容
      this.task = ''
    }
  },
  computed: {
    chkAll: {
      get () {
        // 有一个是false，结果就是false，所以一假则假，应该用every
        return this.list.every(v => v.isDone)
      },
      set (val) {
        this.list.forEach(v => (v.isDone = val))
      }
    }
  }
}
</script>
